home *** CD-ROM | disk | FTP | other *** search
- # Source Generated with Decompyle++
- # File: in.pyo (Python 2.4)
-
- import sys
- import os
- from array import array
- from weakref import proxy
- from test.test_support import verify, TESTFN, TestFailed
- from UserList import UserList
- f = file(TESTFN, 'w')
- p = proxy(f)
- p.write('teststring')
- verify(f.tell(), p.tell())
- f.close()
- f = None
-
- try:
- p.tell()
- except ReferenceError:
- pass
-
- raise TestFailed('file proxy still exists when the file is gone')
- f = file(TESTFN, 'w')
- softspace = f.softspace
- f.name
- f.mode
- f.closed
- f.softspace = softspace
- for attr in ('name', 'mode', 'closed'):
-
- try:
- setattr(f, attr, 'oops')
- except TypeError:
- continue
-
- raise TestFailed('expected TypeError setting file attr %r' % attr)
-
- f.close()
- l = UserList([
- '1',
- '2'])
- f = open(TESTFN, 'wb')
- f.writelines(l)
- f.close()
- f = open(TESTFN, 'rb')
- buf = f.read()
- f.close()
- verify(buf == '12')
- a = array('c', 'x' * 10)
- f = open(TESTFN, 'rb')
- n = f.readinto(a)
- f.close()
- verify(buf == a.tostring()[:n])
- f = open(TESTFN, 'wb')
-
- try:
- f.writelines([
- 1,
- 2,
- 3])
- except TypeError:
- pass
-
- print 'writelines accepted sequence of integers'
- f.close()
- f = open(TESTFN, 'wb')
- l = UserList([
- 1,
- 2,
- 3])
-
- try:
- f.writelines(l)
- except TypeError:
- pass
-
- print 'writelines accepted sequence of integers'
- f.close()
-
- class NonString:
- pass
-
- f = open(TESTFN, 'wb')
-
- try:
- f.writelines([
- NonString(),
- NonString()])
- except TypeError:
- pass
-
- print 'writelines accepted sequence of non-string objects'
- f.close()
- bad_mode = 'qwerty'
-
- try:
- open(TESTFN, bad_mode)
- except IOError:
- msg = None
- if msg[0] != 0:
- s = str(msg)
- if s.find(TESTFN) != -1 or s.find(bad_mode) == -1:
- print 'bad error message for invalid mode: %s' % s
-
-
- except:
- msg[0] != 0
-
- print 'no error for invalid mode: %s' % bad_mode
- f = open(TESTFN)
- if f.name != TESTFN:
- raise TestFailed, 'file.name should be "%s"' % TESTFN
-
- if f.isatty():
- raise TestFailed, 'file.isatty() should be false'
-
- if f.closed:
- raise TestFailed, 'file.closed should be false'
-
-
- try:
- f.readinto('')
- except TypeError:
- pass
-
- raise TestFailed, 'file.readinto("") should raise a TypeError'
- f.close()
- if not f.closed:
- raise TestFailed, 'file.closed should be true'
-
- for s in (-1, 0, 1, 512):
-
- try:
- f = open(TESTFN, 'w', s)
- f.write(str(s))
- f.close()
- f.close()
- f = open(TESTFN, 'r', s)
- d = int(f.read())
- f.close()
- f.close()
- except IOError:
- msg = None
- raise TestFailed, 'error setting buffer size %d: %s' % (s, str(msg))
-
- if d != s:
- raise TestFailed, 'readback failure using buffer size %d'
- continue
-
- methods = [
- 'fileno',
- 'flush',
- 'isatty',
- 'next',
- 'read',
- 'readinto',
- 'readline',
- 'readlines',
- 'seek',
- 'tell',
- 'truncate',
- 'write',
- 'xreadlines',
- '__iter__']
- if sys.platform.startswith('atheos'):
- methods.remove('truncate')
-
- for methodname in methods:
- method = getattr(f, methodname)
-
- try:
- method()
- except ValueError:
- continue
-
- raise TestFailed, 'file.%s() on a closed file should raise a ValueError' % methodname
-
-
- try:
- f.writelines([])
- except ValueError:
- pass
-
- raise TestFailed, 'file.writelines([]) on a closed file should raise a ValueError'
- os.unlink(TESTFN)
-
- def bug801631():
- f = file(TESTFN, 'wb')
- f.write('12345678901')
- f.close()
- f = file(TESTFN, 'rb+')
- data = f.read(5)
- if data != '12345':
- raise TestFailed('Read on file opened for update failed %r' % data)
-
- if f.tell() != 5:
- raise TestFailed('File pos after read wrong %d' % f.tell())
-
- f.truncate()
- if f.tell() != 5:
- raise TestFailed('File pos after ftruncate wrong %d' % f.tell())
-
- f.close()
- size = os.path.getsize(TESTFN)
- if size != 5:
- raise TestFailed('File size after ftruncate wrong %d' % size)
-
-
-
- try:
- bug801631()
- finally:
- os.unlink(TESTFN)
-
-